package com.ruoyi.system.service;

import com.ruoyi.system.domain.SysAlertConfig;

import java.util.List;

/**
 * 预警项目配置 服务层
 *
 * @author ruoyi
 */
public interface ISysAlertConfigService {
    /**
     * 查询预警项目配置信息
     *
     * @param id 预警项目配置ID
     * @return 预警项目配置信息
     */
    SysAlertConfig selectSysAlertConfigById(Long id);

    /**
     * 根据预警大项类别和预警级别查询配置
     *
     * @param projectCate 预警大项类别
     * @param alertLevel  预警级别
     * @return 预警项目配置列表
     */
    List<SysAlertConfig> selectSysAlertConfigByProjectAndLevel(String projectCate, String alertLevel);

    /**
     * 查询预警项目配置列表
     *
     * @param sysAlertConfig 预警项目配置信息
     * @return 预警项目配置集合
     */
    List<SysAlertConfig> selectSysAlertConfigList(SysAlertConfig sysAlertConfig);

    /**
     * 新增预警项目配置
     *
     * @param sysAlertConfig 预警项目配置信息
     * @return 结果
     */
    int insertSysAlertConfig(SysAlertConfig sysAlertConfig);

    /**
     * 修改预警项目配置
     *
     * @param sysAlertConfig 预警项目配置信息
     * @return 结果
     */
    int updateSysAlertConfig(SysAlertConfig sysAlertConfig);

    /**
     * 批量删除预警项目配置
     *
     * @param ids 需要删除的预警项目配置ID
     * @return 结果
     */
    int deleteSysAlertConfigByIds(Long[] ids);

    /**
     * 删除预警项目配置信息
     *
     * @param id 预警项目配置ID
     * @return 结果
     */
    int deleteSysAlertConfigById(Long id);

    /**
     * 校验预警项目配置是否唯一
     *
     * @param sysAlertConfig 预警项目配置信息
     * @return 结果
     */
    boolean checkAlertConfigUnique(SysAlertConfig sysAlertConfig);
}